package org.wishwork.api.inventory.count;

import lombok.Data;

import java.util.List;

/**
 * @description: 库存盘点查询响应数据结构
 * @author: WangYX
 * @create: 2022-04-06 17:47
 * @Version: 1.0.0
 **/
@Data
public class InventoryCountResponse {

    /**
     * 单据类型
     */
    private String type;

    /**
     * 盘点单号
     */
    private Integer ioId;

    /**
     * 单据日期
     */
    private String ioDate;

    /**
     * 状态;WaitConfirm:待确认,Confirmed:生效,Archive:归档,Cancelled:取消,Delete:作废
     */
    private String status;

    /**
     * 仓库名称
     */
    private String warehouse;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 备注
     */
    private String remark;

    /**
     * 仓库编号，主仓=1，销退仓=2， 进货仓=3，次品仓 = 4
     */
    private Integer whId;

    /**
     * 分仓编号
     */
    private Integer wmsCoId;

    /**
     * 修改时间
     */
    private String modified;

    /**
     * 商品集合
     */
    private List<Item> items;

    /**
     * 批次集合
     */
    private List<Batch> batchs;

}

/**
 * 商品信息
 */
@Data
class Item {
    /**
     * 盘点单号
     */
    private Integer ioId;
    /**
     * 子单号
     */
    private Integer ioiId;
    /**
     * 商品编码
     */
    private String skuId;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 颜色及规格
     */
    private String propertiesValue;

    /**
     * 盘点后数量
     */
    private Integer rQty;

    /**
     * 盈亏数量
     */
    private Integer qty;

}

/**
 * 批次信息，获取该节点系统中相关业务项需配置
 */
@Data
class Batch {

    /**
     * 批次号
     */
    private String batchNo;

    /**
     * 商品编码
     */
    private String skuId;

    /**
     * 数量
     */
    private Integer qty;

    /**
     * 批次日期
     */
    private String productDate;

    /**
     * 供应商编号
     */
    private Integer supplierId;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 有效期至
     */
    private String expirationDate;

}